一道MISC带你走入双图隐写

您所在的位置:网站首页 ctf 杂项 图片 一道MISC带你走入双图隐写

一道MISC带你走入双图隐写

2023-04-14 16:25| 来源: 网络整理| 查看: 265

前言

隐写术是什么?顾名思义是隐藏信息书写的技术,是信息隐藏技术的一种。

隐写术中有一个很经典的模型,叫做Simmons模型,也是常说的囚犯问题。

Alice 和 Bob 分属两个牢房,为了合谋越狱需要进行通信,而通信的信件必须经过中间看守人Wendy的审阅。Wendy可以阅读信件的内容,而且阅读后可以决定是否传送这封信件。这时,对信息进行加密不可取,因为看守人会阅读传送的信息的内容,加密后的信息大概率会引起看守人的怀疑,看守人不但可以选择不发送,还可以以此为依据对两名犯人进行调查。 因此需要一种对通信过程隐藏的手段 ,即隐写术。简单概括,隐写术试图隐藏的是通信事件本身。

推荐一本我在某邮图书馆翻到的书 《数据隐藏技术解密》——[美]Michael Raggo

一道双图隐写的CTF题

做题之前,我对一些常见文件格式分析和常用工具进行了一些了解,这篇文章不进行赘述了,有兴趣的可以自己了解一下,或者我以后闲下来可能会整理出来??这里只推荐一篇 png文件结构的博客

题目图片链接:https://pan.baidu.com/s/1Ztx0o_-V8XhzBzvSSothtg

提取码:qdtf

先用Binwalk分析文件

发现藏了两张图片,用foremost分离

在kali中使用compare比较两个图片并生成一张比较图会发现左下角有一条红线,红线处就是存在不同的地方,这种情况一般是双图像运算。

compare生成比较文件命令 compare 1.png 2.png output.png

使用Stegsolve打开一个图片,然后用Analyse选项的Image Combiner功能再添加一个图片进行异或操作,这样会把两个图片相同的部分变为0,不同的部分保留。然后保存异或运算后生成的bmp图片,用WinHex打开这个图片会发现这个文件中大部分都为0,不为0的部分就是两张图片不相同的区间,也就是之前红线处图片的差异。

记录不为0部分的偏移量区间,把原来分离出来的两个图片文用画图板另存为bmp格式,因为XOR异或出来的图片格式为BMP需要使用相同格式的图片寻找差异处。

用winhex打开两个图片,分别找到对应的偏移量区间如下

发现其中的差异是第二张图片中一些字节被替换成了00或01,找一下规律发现是每隔两个字节替换一次(每三个Hex的第一个Hex都是00或01,其实每三个Hex代表一个RGB通道,也就是信息隐藏在R通道中),分析这些0和1连接到一起可能会产生二进制信息,但是又不能挨个打出来吧。先把这一段十六进制数据复制下来,找到规律利用python切片连接这些01。

这里是将一串binary写入R通道中的时候,0变成了00, 1变成了01。

得到的01数据长度len()一下发现是8的倍数,这时可以直接使用JPK工具格式化二进制数据并转换成Ascii码

得到flag

也可以自己写一个脚本来处理这串01序列

1.py

12345678import sysstr="0100100101010011010001110111101101000101001101000111001101011001010111110101001101110100010001010110011100110100011011100011000001100111010100100011010001110000010010000111100101111101"i = 0while i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3